<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Strict//EN">
<html>
<head>
<meta http-equiv="Content-Language" content="en-us">
<title>IupMatrix Attributes</title>
<link rel="stylesheet" type="text/css" href="../../style.css">
<style type="text/css">
.style1 {
	font-size: large;
}
.style2 {
	text-decoration: underline;
}
.style3 {
	margin-left: 40px;
}
.auto-style1 {
	font-size: medium;
}
</style>
</head>
<body>

<h2>IupMatrix Attributes<span class="style1"> (all non inheritable, with 
exceptions)</span></h2>
<h3><a name="General_Attributes">General Attributes</a></h3>
<p><strong><a name="CURSOR">CURSOR</a></strong>:
  Default cursor used by the matrix. The 
  default cursor is a symbol that looks like a cross. If you need to refer to this default cursor, use the name 
&quot;IupMatrixCrossCursor&quot;.</p>
<p><strong>DROPIMAGE</strong>: drop image name. Use <a href="../func/iupsethandle.html">IupSetHandle</a> or
	<a href="../func/iupsetattributehandle.html">IupSetAttributeHandle</a> to 
	associate an image to a name. See also <a href="../elem/iupimage.html">IupImage</a>. 
By default an internal image will be used. (since 3.16) </p>
<p><strong><a name="FOCUS_CELL">FOCUSCELL</a></strong>:
  Defines the current cell. Two numbers in the &quot;<strong><em>L</em></strong>:<strong><em>C</em></strong>&quot; format, 
    &nbsp;(<strong><em>L</em></strong>&gt;0 and <strong><em>C</em></strong>&gt;0, a title cell can NOT be the current cell). Default: &quot;1:1&quot;.</p>
<p><strong>FLAT</strong>: removes the 3D appearance from the matrix. (since 
3.25)</p>
<p><a href="../attrib/iup_flatscrollbar.html">FLATSCROLLBAR</a>: enable the flat 
scrollbars. Can be set only before map. SCROLLBAR is set to NO. Can be Yes, 
Vertical or Horizontal. Default: not defined. (since 3.22)</p>
<p><strong><a name="HIDEFOCUS">HIDEFOCUS</a></strong>: do not show the focus mark when 
  drawing the matrix. Default is NO.</p>
<p><strong><a name="HIDDENTEXTMARKS">HIDDENTEXTMARKS</a></strong>: when text is greater than cell space, it is 
normally cropped, but when set to YES a &quot;...&quot; mark will be added at the crop 
point to indicate that there is more text not visible. Default: NO. (since 3.1)</p>
<p><strong>HLCOLOR</strong>: the overlay 
color for the selected cells. Default: TXTHLCOLOR global attribute. If set to &quot;&quot; 
will only use the attenuation process. The color is composited using 
HLCOLORALPHA attribute as alpha value (default is 128). (since 3.16)</p>

  
<p><strong><a name="ORIGIN">ORIGIN</a></strong>: Scroll the visible area to the 
given cell. Returns the cell at the top-left corner. To scroll to a line or a 
column, use a value such as &quot;<strong><em>L</em></strong>:*&quot; or &quot;*:<strong><em>C</em></strong>&quot; (where
<em><strong>L</strong></em>&gt;0 and <strong><em>C</em></strong>&gt;0). L and C 
can not be a non scrollable cell either.</p>
<p><strong><a name="ORIGINOFFSET">ORIGINOFFSET</a></strong>: complements the 
ORIGIN attribute by specifying the drag offset of the top left cell. Returns the 
current value. Has the format &quot;X:Y&quot; or &quot;%d:%d&quot; in C. When 
changing this attribute must change also ORIGIN right after. (since 3.5)</p>
<p><strong><a name="READONLY">READONLY</a></strong>: disables the editing of all cells. EDITION_CB and 
VALUE_EDIT_CB will not be called anymore. The L:C attribute will still be able 
to change the cell value. (since 3.0)</p>

<p><strong>SHOWFILLVALUE</strong>: enable the display of the numeric percentage 
in the cell when TYPE* is FILL. Default: NO. (since 3.9)</p>
<p><strong>TOGGLECENTERED</strong>: center the toggle and use the cell value in 
place of TOGGLEVALUE<em>L:C</em>. No text will be drawn. (since 3.16)</p>
<p><strong>TOGGLEIMAGEON/TOGGLEIMAGEOFF</strong>: toggle image name. Use <a href="../func/iupsethandle.html">IupSetHandle</a> or
	<a href="../func/iupsetattributehandle.html">IupSetAttributeHandle</a> to 
	associate an image to a name. See also <a href="../elem/iupimage.html">IupImage</a>. 
By default an internal image will be used. (since 3.16) </p>
<p><strong>TYPECOLORINACTIVE</strong>: when inactive the color of the cell for 
TYPE*=COLOR will be attenuated as everything else. Default: Yes. (since 3.19)</p>

  
  
<blockquote>
  <hr>
</blockquote>
<p>
<a href="../attrib/iup_active.html">ACTIVE</a>,
<a href="../attrib/iup_expand.html">EXPAND</a>, 
<a href="../attrib/iup_font.html">FONT</a>, <a href="../attrib/iup_screenposition.html">SCREENPOSITION</a>, 
<a href="../attrib/iup_position.html">
POSITION</a>, <a href="../attrib/iup_minsize.html">
MINSIZE</a>, <a href="../attrib/iup_maxsize.html">
MAXSIZE</a>,
    <a href="../attrib/iup_wid.html">WID</a>, <a href="../attrib/iup_tip.html">TIP</a>, 
<a href="../attrib/iup_size.html">SIZE</a>,
<a href="../attrib/iup_rastersize.html">RASTERSIZE</a>,
    <a href="../attrib/iup_zorder.html">ZORDER</a>, <a href="../attrib/iup_visible.html">VISIBLE</a>: 
also accepted.&nbsp;</p>

<h3><a name="Cell_Attributes">Cell Attributes</a> (no redraw)</h3>
<p>(These attributes are only updated in the display when you set the
<a href="#REDRAW">REDRAW</a> attribute.)</p>
<p><i><strong><a name="L:C">L</a></strong></i><a name="L:C"><strong>:<i>C</i></strong></a>:
  Text of the cell located in line 
  L and column 
  C, where L and C are integer numbers. <br>
<strong><i>L</i>:0</strong>:
  Title of line 
  L.<br>
<strong>0:<i>C</i></strong>:
  Title of column 
  C.<br>
<strong>0:0</strong>:
  Title of the area between the line and 
  column titles.</p>
<p class="info">These are valid only in normal mode.</p>
<p>
<strong>ALIGN<i>L</i>:<i>C</i></strong>:
  Alignment of the cell value in line 
  L and column 
  C.&nbsp;Values are in the format: &quot;linalign:colalign&quot;, where linalign can be 
&quot;ATOP&quot;, &quot;ACENTER&quot; or &quot;ABOTTOM&quot;, and colalign can be &quot;ALEFT&quot;, &quot;ACENTER&quot; or 
&quot;ARIGHT&quot;. Default will use ALIGNMENT* and LINEALIGMENT*. (Since 3.16)</p>
<p>
<strong>TYPE<i>L</i>:<i>C</i></strong>:
  Type of the cell value in line 
  L and column 
  C.&nbsp; (Since 3.9)<br>
<strong>TYPE*:<i>C</i></strong>:
  Type of column 
  C.&nbsp; (Since 3.9)<br>
<strong>TYPE<i>L</i>:*</strong>:
  Type of line 
  L.&nbsp; (Since 3.9)</p>
<p class="info">Can be TEXT, COLOR, FILL, or IMAGE. When type is COLOR the cell value is 
interpreted as a color and a rectangle with the color is drawn inside the cell 
instead of the text (the FGCOLOR of the cell is ignored). When type is FILL the 
cell value is interpreted as percentage and a rectangle showing the percentage 
in the FGCOLOR is drawn like in <strong>IupGauge</strong> and <strong>
IupProgressBar</strong>. When type is IMAGE the cell value is interpreted as an 
image name, and if an image exist with that name is drawn (the name can NOT be 
of a Windows resource or GTK stock image). Only TEXT and IMAGE are affected by 
alignment attributes. Default: TEXT. (Since 3.9)</p>
<p><b><a name="BGCOLOR">BGCOLOR</a></b>:
  Background color of the matrix. (inheritable)<br>
<strong>BGCOLOR*:<i>C</i></strong>:
  Background color of column 
  C.<br>
<strong>BGCOLOR<i>L</i>:*</strong>:
  Background color of line 
  L.<br>
<strong>BGCOLOR<i>L</i>:<i>C</i></strong>:
  Background color of the cell in line 
  L and column 
  C.</p>
<p class="info">When more than one attribute are defined, the background color will be 
    selected following this priority: BGCOLORL:C, BGCOLORL:*, BGCOLOR*:C, and 
    last BGCOLOR.
    (L or C &gt;= 0) <br>
    Default BGCOLOR is the global attribute TXTBGCOLOR for cells and the parent's BGCOLOR for titles.<br>
    Since the matrix control can be larger than the matrix itself, the empty area will always be filled with the 
    parent's BGCOLOR.</p>
<p><b><a name="FGCOLOR">FGCOLOR</a></b>:
  Text color. (inheritable)<br>
<strong>FGCOLOR*:<i>C</i></strong>:
  Text color of column 
  C.<strong><br>
FGCOLOR<i>L</i>:*</strong>:
  Text color of line 
  L.<br>
<strong>FGCOLOR<i>L</i>:<i>C</i></strong>:
  Text color of the cell in line 
  L and column 
  C.<p class="info">When more than one attribute are define, the text color of a cell will be selected 
    following this priority: FGCOLORL:C, FGCOLORL:*, FGCOLOR*:C, and last
    FGCOLOR. 
    (L or C &gt;= 0)<br>
Default FGCOLOR is the global attribute TXTFGCOLOR for cells or the global 
attribute DLGFGCOLOR for titles.</p>
<p><b><a href="../attrib/iup_font.html" name="FONT">FONT</a></b>:
  Character font of the text. (inheritable)<br>
<strong>FONT<i>L</i>:*</strong>:
  Text 
  font of the cells in line L.<br>
<strong>FONT*:<i>C</i></strong>:
  Text 
  font of the cells in column C.<br>
<strong>FONT<i>L</i>:<i>C</i></strong>:
  Text font of the cell in line L and column C.</p>
<p class="info">This attribute must be set before the control is showed. It affects the calculation of the size of all the matrix 
    cells. The cell size is always calculated from the base FONT attribute. 
FONTSTYLE<i>L</i><strong>:</strong><i>C</i><strong> </strong>and FONTSIZE<i>L</i><strong>:</strong><i>C</i> can also be used to set FONT changing only the font style 
or size (since 
3.21).</p>
<p><strong><a name="FRAMECOLOR">FRAMECOLOR</a></strong>:
  Sets the color to be used in the frame lines. (inheritable)<br>
<strong>FRAMEVERTCOLOR<em>L:C</em></strong>: Color of the vertical right frame 
line of the cell. When not defined the FRAMEVERTCOLOR<em>*:C</em> is used. For a title column cell 
(col=0) defines 
right and left frames, except if FRAMETITLEVERTCOLOR<i>L</i><strong>:</strong><i>C</i>&nbsp; 
is defined. If value is &quot;BGCOLOR&quot; the frame line is not drawn.<br>
<strong>FRAMEVERTCOLOR<em>*:C</em></strong>: same as FRAMEVERTCOLOR<em>L:C</em> 
but for all the cells of the column C. When not defined the FRAMECOLORL:C is used. (since 3.5)<strong><br>FRAMEVERTCOLOR<em>L:*</em></strong>: same as FRAMEVERTCOLOR<em>L:C</em> 
but for all the cells of the line L. When not defined the FRAMECOLOR*:C is used. (since 3.28)<strong><br>FRAMETITLEVERTCOLOR<em>L:</em></strong><em><strong>0</strong></em>: 
color of the vertical left frame line of the cell. When not defined the FRAMEVERTCOLOR<em>L:0</em>&nbsp; 
is used. &quot;L&quot; can also be &quot;*&quot; (since 3.22)<strong><br>
FRAMEHORIZCOLOR<em>L:C</em></strong>: color of the horizontal bottom frame 
line of the 
cell. When not defined the FRAMEHORIZCOLOR<em>L:* </em>is used. For a title line cell (lin=0) defines bottom and top frames, 
except if FRAMETITLEHORIZCOLOR<i>L</i><strong>:</strong><i>C</i>&nbsp; is 
defined. If value is 
&quot;BGCOLOR&quot; the frame line is not drawn.<br>
<strong>FRAMEHORIZCOLOR<em>L:*</em></strong>: same as FRAMEHORIZCOLOR<em>L:C </em>
but for all the cells of the line L. When not defined the FRAMECOLORL:C is used. (since 3.5)<br>
<strong>FRAMEHORIZCOLOR<em>*:C</em></strong>: same as FRAMEHORIZCOLOR<em>L:C </em>
but for all the cells of the column C. When not defined the FRAMECOLORL:* is used. (since 3.28)<br>
<strong>FRAMETITLEHORIZCOLOR<em>0:C</em></strong>: color of the horizontal top 
frame line of the cell. When not defined the FRAMEHORIZCOLOR<em>0:C</em>&nbsp; 
is used. &quot;C&quot; can also be &quot;*&quot;. (since 3.22)</p>
<p><strong>FRAMETITLEHIGHLIGHT</strong>: by default the title cells will have a 
bright line at left and top to configure a raise appearance. Can be Yes or No. 
Default: Yes. (since 3.9)</p>
<p><strong>FRAMEBORDER</strong>: show a fixed border (non scrollable) of 1 pixel 
around the matrix visible area using FRAMECOLOR. It is drawn after the matrix 
cells are drawn. Drawn only when the scrollbars are visible, and only up to 
matrix total size. Default: No. (since 3.20)</p>
<p><strong>RESIZEMATRIXCOLOR</strong>: color used by the column resize feedback. 
Default: &quot;102 102 102&quot;. (Since 3.9)</p>
<p><strong>TOGGLEVALUE<i>L</i>:<i>C</i> </strong>: value of the toggle inside 
the cell. The toggle is shown only if the DROPCHECK_CB returns IUP_CONTINUE for 
the cell. When the toggle is interactively change the TOGGLEVALUE_CB callback is 
called. (Since 3.9) </p>
<p><strong><a name="VALUE">VALUE</a></strong>:
  Allows setting or verifying the value of the 
  current cell. Is the same as obtaining the current cell line and column from 
FOCUSCELL attribute, and then using them to access the &quot;L:C&quot; attribute. 
But when updated or retrieved during cell editing, the edit control will be 
updated or consulted instead of the matrix cell. When retrieved inside the 
EDITION_CB callback when mode is 0, then the return value is the new value 
  that will be updated in the cell.</p>
<hr class="style3">
<p><strong><a name="CELL">CELL</a><i>L</i>:<i>C</i></strong> 
(read-only): Returns the displayed cell value. Returns NULL if the cell does not 
exists, or it is not visible, or the element is not mapped. (since 3.14)</p>
<p><strong><a name="CELLBGCOLOR">CELLBGCOLOR</a><i>L</i>:<i>C</i></strong> 
(read-only): Returns the actual cell background color, including lin and col 
variations, callback returned values, mark and active 
state modifications. Returns NULL if the cell does not 
exists, or it is not visible, or the element is not mapped. (since 3.6)</p>
<p><strong><a name="CELLFGCOLOR">CELLFGCOLOR</a><i>L</i>:<i>C</i></strong> 
(read-only): Returns the actual cell foreground color, including lin and col 
variations, callback returned values, mark state 
modifications. Returns NULL if the cell does not 
exists, or it is not visible, or the element is not mapped. (since 3.6)</p>
<p><strong>CELLFONT<i>L</i>:<i>C</i></strong> 
(read-only): Returns the actual cell font, including lin and col variations, 
callback returned values. Returns NULL if the cell does not 
exists, or it is not visible, or the element is not mapped. (since 3.23)</p>
<p><strong>CELL<i>TYPEL</i>:<i>C</i></strong> 
(read-only): Returns the actual cell type, including lin and col variations, 
callback returned values. Returns NULL if the cell does not 
exists, or it is not visible, or the element is not mapped. (since 3.23)</p>
<p><strong>CELLFRAMEHORIZCOLOR<i>L</i>:<i>C</i></strong> 
(read-only): Returns the actual cell frame horizontal color, including lin and 
col variations. Returns NULL if the cell does not 
exists, or it is not visible, the element is not mapped, or the color is 
transparent. (since 3.23)</p>
<p><strong>CELLFRAMEVERTCOLOR<i>L</i>:<i>C</i></strong> 
(read-only): Returns the actual cell frame vertical color, including lin and col 
variations. Returns NULL if the cell does not 
exists, or it is not visible, the element is not mapped, or the color is 
transparent. (since 3.23)</p>
<p><strong>CELLALIGNMENT<i>L</i>:<i>C</i></strong> 
(read-only): Returns the actual cell text aligment, including lin and col 
variations. Returns NULL if the cell does not 
exists, or it is not visible, or the element is not mapped. (since 3.23)</p>
<p><strong><a name="CELLOFFSET">CELLOFFSET</a><i>L</i>:<i>C</i></strong> (read-only): Returns the cell 
computed offset in pixels from the top-left corner of the matrix, in the format 
&quot;XxY&quot; or &quot;%dx%d&quot; in C. Returns NULL 
if the cell does not exists, or it is not visible, or the element is not mapped. 
It will only return a valid result if the cell has already been displayed. They 
are similar to the parameters of the DRAW_CB callback but they do NOT include 
the decorations. (since 3.5)</p>
<p><strong><a name="CELLSIZE">CELLSIZE</a><i>L</i>:<i>C</i></strong> (read-only): Returns the cell 
computed size in pixels, in the format &quot;WxH&quot; or &quot;%dx%d&quot; in C. Returns NULL if the cell does not exists, or the 
element is not mapped. It will only return a valid result if the cell has 
already been displayed. They are similar to the parameters of the DRAW_CB 
callback but they do NOT include the decorations. (since 3.5)</p>
<h3><a name="Column_Attributes">Column/Line Only Attributes</a> (no redraw)</h3>
<p><a name="ALIGNMENTn"><strong>ALIGNMENT</strong><em><strong>C</strong></em></a> :
  Horizontal alignment of the cells in column 
  C (C &gt;= 0) for lines that greater than 0. 
  Can be: &quot;ALEFT&quot;, &quot;ACENTER&quot; or &quot;ARIGHT&quot;. Default: 
    &quot;ALEFT&quot; for C=0 and &quot;ACENTER&quot; for C&gt;0. Before checking the default value it will check the &quot;<strong>ALIGNMENT</strong>&quot; 
attribute value. If the text do not fit in the cell then the alignment is 
changed to ALEFT.</p>
<p><strong>ALIGNMENTLIN0: </strong>Horizontal alignment of all the cells in line 
0. Default is &quot;ACENTER&quot;. (since 3.9)</p>
<p><strong>LINEALIGNMENT<em>L</em></strong>: Vertical alignment of the cells in 
line L (L &gt;= 0) for all columns. Can be: &quot;ATOP&quot;, &quot;ACENTER&quot; or &quot;ABOTTOM&quot;. Default 
is &quot;ACENTER&quot;. (since 3.16)</p>
<p><a name="SORTSIGNn"><strong>SORTSIGN</strong></a><a name="ALIGNMENTn0"><em><strong>C</strong></em></a> : Shows a sort sign (up or 
  down arrow) in the
  column 
  C (C &gt;= 0) 
  title. Possible values: &quot;UP&quot;, &quot;DOWN&quot; 
  and &quot;NO&quot;. Default: NO.</p>
<p><strong>SORTIMAGEDOWN/SORTIMAGEUP</strong>: sort sign image name. Use <a href="../func/iupsethandle.html">IupSetHandle</a> or
	<a href="../func/iupsetattributehandle.html">IupSetAttributeHandle</a> to 
	associate an image to a name. See also <a href="../elem/iupimage.html">IupImage</a>. 
By default an internal image will be used. (since 3.16) </p>
<h3><a name="Size_Attributes">Size Attributes</a></h3>
<p><strong>LIMITEXPAND</strong>: limit expansion to the maximum size that shows 
all cells. This will set the MAXSIZE attribute to match the natural size of the 
matrix when all cells are visible. When the scrollbars have *AUTOHIDE=Yes, the 
maximum size will not include the scrollbars (since 3.9). (since 3.5) </p>

<p><strong><a name="RESIZEMATRIX">RESIZEMATRIX</a></strong>:
  Defines if the width of a column can be 
  interactively changed. When this is possible, the user can change the size of a column by dragging the column title 
  right border. Possible values: &quot;YES&quot; or &quot;NO&quot;. Default: 
    &quot;NO&quot; (does not allow interactive width change). The minimum size 
is 0 by default, the column is then hidden, but it can be controlled by the 
MINCOLWIDTHid and <font SIZE="3">
	MINCOLWIDTHDEF </font>attributes (since 3.26).</p>
<p><strong>RESIZEDRAG</strong>: Resize the column while dragging. By default the 
column is resized only when the mouse button is released, the resize feedback is 
a simple vertical line. Works only when RESIZEMATRIX=Yes. 
Default: NO. (since 3.25)</p>
<p><strong><a name="USETITLESIZE">USETITLESIZE</a>:</strong> Use the title size 
to define the cell size if necessary. See WIDTHn and HEIGHTn. Default: NO. 
(since 3.0)</p>

  
  
<h3><a name="Column_Size_Attributes">Column Size Attributes</a></h3>
<p>For all columns if WIDTHn is not defined, then RASTERWIDTHn is used. If also 
not defined, then depending on the circumstances a logic is used to find the 
column width.</p>
<p>If it is the title column (n=0), then if USETITLESIZE=YES or not in callback 
mode, it will search for the maximum width among the titles of all lines. 
Finally if the conditions are not true or the maximum width of the column is 0, 
then the column of line titles is hidden.</p>
<p>If it is a regular column (n&gt;0), then if USETITLESIZE=YES, then it will use 
the width of the title of the column. Finally if the condition is not true or 
the width of the title of the column is 0, then the default value WIDTHDEF is 
used.</p>
<p><strong><a name="RASTERWIDTHn">RASTERWIDTHn</a></strong>: Same as WIDTHn but in pixels. 
Has lower priority than WIDTHn. The returned value is the actual computed size.</p>
<p><strong><a name="WIDTHn">WIDTHn</a></strong>: Width of column n in SIZE 
units, where n is the number of the column (n&gt;=0). If the width value is 0, the 
column will not be shown on the screen. It does not includes the decoration size 
occupied by the frame lines. The returned value is the actual computed size.</p>
<p><strong><a name="WIDTHDEF">WIDTHDEF</a></strong>:
  Default column width in SIZE units. Not used for the title column. Default: 
80 (width corresponding to 20 characters).</p>
<p><strong>MINCOLWIDTHid</strong>: when the column is interactively resized 
controls the minimum width of the given column. If not defined <font SIZE="3">
	MINCOLWIDTHDEF is used. </font>(since 3.26)</p>
<h3><a name="Line_Size_Attributes">Line Size Attributes</a></h3>
<p>For all lines if HEIGHTn is not defined, then RASTERHEIGHTn is used. If also 
not defined, then depending on the circumstances a logic is used to find the 
line height.</p>
<p>If it is the title line (n=0), then if USETITLESIZE=YES or not in callback 
mode, it will search for the maximum height among the titles of all columns. 
Finally if the conditions are not true or the maximum height of the line is 0, 
then the line of column titles is hidden.</p>
<p>If it is a regular line (n&gt;0), then if USETITLESIZE=YES, then it will use the 
height of the title of the line. Finally if the condition is not true or the 
height of the title of the line is 0, then the default value HEIGHTDEF is used.</p>
<p><strong><a name="HEIGHTn">HEIGHTn</a></strong>: Height of line n in SIZE 
units, where n is the number of the line (n&gt;=0). If the height value is 0, the 
line will not be shown on the screen. It does not includes the decoration size 
occupied by the frame lines. The returned value is the actual computed size.</p>
<p><strong><a name="HEIGHTDEF">HEIGHTDEF</a></strong>:
  Default line height in SIZE units. Not used for the title line. Default: 
8 (height corresponding to 1 line).</p>
<p><strong><a name="RASTERHEIGHTn">RASTERHEIGHTn</a></strong>: Same as HEIGHTn but in pixels. 
Has lower priority than HEIGHTn. The returned value is the actual computed size.</p>
<h3><a name="Number_of_Cells_Attributes">Number of Cells Attributes</a></h3>
<p>When lines or columns are added or removed the existing cell, line and column 
attributes are preserved, except custom application attributes.</p>
<p><strong><a name="ADDCOL">ADDCOL</a></strong> (write-only):
  Adds a new column to the matrix after the 
  specified column. To insert a column at the top of the spreadsheet, value 0 
must be used. To add more than one column, use format &quot;<strong><em>C-C</em></strong>&quot;, where the first number corresponds to the base column and the second number corresponds to 
  the number of columns to be added. It can be used in normal operation mode or 
in callback mode, but in callback mode will not update cell values this must be 
done by the application. 
Can NOT add a title column. Ignored if set before map. </p>
<p><strong><a name="ADDLIN">ADDLIN</a></strong> (write-only):
  Adds a new line to the matrix after the 
  specified line. To insert a line at the top of the spreadsheet, value 0 must be used. To add more than one line, use format &quot;<strong><em>L-L</em></strong>&quot;, 
where the first number corresponds to the base line and the second number 
corresponds to the number of lines to be added. It can be used in normal operation mode 
or in callback mode, but in callback mode will not update cell values this must 
be done by the application. Can NOT add a title line. Ignored if set before map. </p>
<p><strong><a name="DELCOL">DELCOL</a></strong> (write-only):
  Removes the given column from the matrix. To 
  remove more than one column, use format &quot;<strong><em>C-C</em></strong>&quot;, where the 
first number corresponds to the base column and the second number corresponds to 
the number of columns to be removed. It can be used in normal operation mode or 
in callback mode, but in callback mode will not update cell values this must be 
done by the application. Can NOT remove a title column, <strong><em>C</em></strong>&gt;0. Ignored if set 
before map. </p>
<p><strong><a name="DELLIN">DELLIN</a></strong> (write-only):
  Removes the given line from the matrix. To 
  remove more than one line, use format &quot;<strong><em>L-L</em></strong>&quot;, where the first number corresponds to the base line and the second number corresponds to the 
  number of lines to be removed. It can be used in normal operation mode or in 
callback mode, but in callback mode will not update cell values this must be 
done by the application. Can 
NOT remove a title line, <strong><em>L</em></strong>&gt;0. Ignored if set before 
map. </p>
<p><strong><a name="NUMCOL">NUMCOL</a></strong>:
  Defines the number of columns in the matrix. Must be an integer number. Default: &quot;0&quot;. 
It does not include the title column. If changed after map will add empty cells 
or discard cells at the end.</p>
<p><strong><a name="NUMCOL_VISIBLE">NUMCOL_VISIBLE</a></strong>:
  When set defines the number of 
  visible columns to be counted when calculating the <strong>Natural</strong> 
size, not counting the title column. Not used elsewhere. 
  The <strong>Natural</strong> size will always include the title column if any. 
Can be greater than the actual number of columns, so room will be reserved for 
adding new columns without the need to resize the matrix. Also it will always use the first columns of the matrix, except if 
<strong>NUMCOL_VISIBLE_LAST</strong>=YES then it will use the last columns. The 
remaining columns will be accessible only by using the scrollbar. IMPORTANT: 
When retrieved returns the current number of visible columns, not including the 
non scrollable columns. Default: &quot;4&quot;.</p>
<p><a name="NUMCOL_NOSCROLL"><strong>NUMCOL_NOSCROLL</strong></a>: Number of 
columns that are non scrollable, not counting the title column. Default: &quot;0&quot;. It does not affect 
the NUMCOL_VISIBLE attribute behavior nor Natural size computation. It will 
always use the first columns of the matrix. The cells appearance will be the 
same of ordinary cells, and they can also receive the focus and be edited. Must 
be less than the total number of columns. (since 3.5)</p>
<p><strong><a name="NUMLIN">NUMLIN</a></strong>:
  Defines the number of lines in the matrix. Must be an integer number. Default: &quot;0&quot;. 
It does not include the title line. If changed after map will add empty cells 
or discard cells at the end.</p>
<p><strong><a name="NUMLIN_VISIBLE">NUMLIN_VISIBLE</a></strong>:
  When set defines the number of visible lines to be counted when calculating 
the <strong>Natural</strong> size, not counting the title line. Not used elsewhere. 
The <strong>Natural</strong> size will always include the title line if any. 
Can be greater than the actual number of lines, so room will be reserved for 
adding new lines without the need to resize the matrix. Also it will always use the 
first lines of the matrix, except if <strong>NUMLIN_VISIBLE_LAST</strong>=YES 
then it will use the last lines. The remaining lines will be accessible only by using 
the scrollbar. IMPORTANT: When 
  retrieved returns the current number of visible lines, not including the non 
scrollable lines. Default: &quot;3&quot;.</p>
<p><a name="NUMLIN_NOSCROLL"><strong>NUMLIN_NOSCROLL</strong></a>: Number of 
lines that are non scrollable, not counting the title line. Default: &quot;0&quot;. It does not affect the 
NUMLIN_VISIBLE attribute behavior nor Natural size computation. It will always 
use the first lines of the matrix. The cells appearance will be the same of 
ordinary cells, and they can also receive the focus and be edited.&nbsp; Must be 
less than the total number of lines. (since 3.5)</p>
<p><strong>NOSCROLLASTITLE</strong>: Non scrollable lines and columns to look 
and behave as title cells. Can be Yes or No. Default: No. (since 3.24)</p>
<h3><a name="Mark_Attributes">Mark Attributes</a></h3>
<p><strong>MARK<a name="MARKAREA">AREA</a></strong>:
  Defines if the area to be <strong>interactively</strong> 
  marked by the user must be continuous or not, valid only if MARKMULTIPLE=YES. Possible values: &quot;CONTINUOUS&quot; or &quot;NOT_CONTINUOUS&quot;. Default: &quot;CONTINUOUS&quot;.</p>
<p><strong>MARKATTITLE</strong>: a click at a title will mark a full line or a 
full column if they can be marked. Default: &quot;Yes&quot;. (since 3.16)</p>
<p><strong><a name="MARKMODE">MARKMODE</a></strong>:
  Defines the entity that can be marked: none, 
  lines, columns, (lines <span class="style2">or</span> columns), and cells. Possible values: &quot;NO&quot;, &quot;LIN&quot;, &quot;COL&quot;, 
    &quot;LINCOL&quot; or &quot;CELL&quot;. Default: &quot;NO&quot; 
    (no mark).</p>
<p><strong><a name="MARK">MARK</a><em>L:C</em></strong> (no redraw): marks a cell, a line or 
a column depending on 
MARKMODE, and returns cell, line or column mark state also according to MARKMODE. Can be &quot;1&quot; or 
&quot;0&quot;. If MARKMODE=LIN,COL,LINCOL use 0 to mark only the other element 
(ex: &quot;0:3&quot; set/get for column 3). Even when MARKMODE=LIN,COL,LINCOL you can 
specify a single cell address. (since 3.0)</p>
<p><strong><a name="MARKED">MARKED</a></strong>:
  String of &#39;0&#39; or &#39;1&#39; characters, informing which cells are 
  marked (indicated by value &#39;1&#39;). Use NULL to clear all marks, returns 
NULL if no marks. 
  The format of this character vector depends on the value of the MARKMODE attribute: if its value is CELL, the vector will have NUMLIN x NUMCOL positions, corresponding to all the cells in the matrix 
starting with all the cells of the first line, then the second line and so on. If its value is LIN, the vector will begin with letter 
&#39;L&#39; and will have further NUMLIN positions, each one corresponding to a line 
  in the matrix. If its value is COL, the vector will begin with letter &#39;C&#39; and will have further 
NUMCOL positions, each one corresponding to a 
  column in the matrix. If its value is LINCOL, the first letter, which can be either 
&#39;L&#39; or &#39;C&#39;, will indicate which of the above formats is being used. If you 
change the other mark attributes the marked cells are cleared. When setting the 
attribute the LIN and COL notation can be used even if MARKMODE=CELL. 
MULTIPLE and AREA are NOT considered when setting MARKED or MARKL:C.</p>
<p><strong>MARK<a name="MARKMULTIPLE">MULTIPLE</a></strong>:
  Defines if more than one entity defined by
  MARKMODE can be <strong>interactively</strong> 
  marked. Possible values: &quot;YES&quot; or &quot;NO&quot;. Default: 
    &quot;NO&quot;.</p>
<h3><a name="Merge_Attributes">Merge Attributes</a><span class="auto-style1"> 
(since 3.23)</span></h3>
<p><strong>MERGE<i>L</i>:<i>C</i></strong>: merge a range of cells starting from 
the given &quot;lin:col&quot; (in id), and ending at the given &quot;lin:col&quot; (in value). Title 
cells can also be merge but only among them, i.e. in the line of column titles 
(L=0) can only merge columns, and in the column of line titles (C=0) can only 
merge lines. The corner cell (0:0) can not be merged with any other cell. Only 
cells that are not already merged can be merged into a range. Returns if the 
given cell belongs to a merged range, can be &quot;Yes&quot; or &quot;No&quot;.</p>
<p><strong>MERGESPLIT</strong> (write-only): split a merged range. value is a 
cell &quot;lin:col&quot; than belongs to the range, any cell of the range can be used.</p>
<p><strong>MERGEDSTART<i>L</i>:<i>C</i> </strong>&nbsp;(read-only): returns the 
start cell of the range given a cell that belongs to the range, any cell of the 
range can be used.</p>
<p><strong>MERGEDEND<i>L</i>:<i>C</i> </strong>&nbsp;(read-only): returns the 
end cell of the range given a cell that belongs to the range, any cell of the 
range can be used.</p>
<h3><a name="Action_Attributes">Action Attributes</a></h3>
<p>
<strong>CLEARATTRIB</strong> (write-only):
  Clear all cell attributes if ALL, all attributes except titles if CONTENTS, 
and all selected cell attributes if MARKED. 
When ALL is specified, all lines and column attributes are also cleared. (since 3.6)<br><strong><a name="CLEARATTRIB">CLEARATTRIB</a></strong><strong><i>L</i>:<i>C</i></strong> (write-only): Clear all 
cell attributes in an interval starting at the specified cell. Its value defines the end 
cell in the &quot;L:C&quot; format, the default is the last cell. (since 3.6)<br>
<strong>CLEARATTRIB<i>L</i>:*</strong> (write-only):
  the cell attributes in line L. Its value defines a column inclusive interval in the 
&quot;C1-C2&quot; format. The default is 0 and the last column. When a full line 
is specified, all line attributes are also cleared. (since 3.6)<br>
<strong>CLEARATTRIB*:<i>C </i></strong><i>(write-only)</i>:
  the cell attributes in column C. Its value defines a line inclusive interval in the 
&quot;L1-L2&quot; format. The default is 0 and the last line. When a full column 
is specified, all column attributes are also cleared, including ALIGNMENT and 
SORTSIGN. (since 3.6)</p>
<p class="info">In all cases, attributes are set to NULL. Only the attributes 
FONT*, BGCOLOR*, FGCOLOR*, FRAMEHORIZCOLOR*, FRAMEVERTCOLOR*,&nbsp;ALIGNMENTLIN0, 
LINEALIGNMENT*, ALIGNMENT* 
and SORTSIGN* are affected. In 
callback mode will not call the user callbacks.</p>
<p>
<strong>CLEARVALUE</strong> (write-only):
  Clear all values if ALL, all values except titles if CONTENTS, and all 
selected cell values if MARKED. (since 3.6)<br><strong><a name="CLEARVALUE">CLEARVALUE</a></strong><strong><i>L</i>:<i>C</i></strong> (write-only): Clear all 
values in an interval starting at the specified cell. Its value defines the end 
cell in the &quot;L:C&quot; format, the default is the last cell. (since 3.6)<br>
<strong>CLEARVALUE<i>L</i>:*</strong> (write-only):
  the values in line L. Its value defines a column inclusive interval in the 
&quot;C1-C2&quot; format. The default is 0 and the last column. (since 3.6)<br>
<strong>CLEARVALUE*:<i>C </i></strong>(write-only):
  the values in column C. Its value defines a line inclusive interval in the 
&quot;L1-L2&quot; format. The default is 0 and the last line. (since 3.6)</p>
<p class="info">In all cases, values are set to NULL. Works also in callback 
mode.</p>
<p><strong>COPYCOL<i>C </i></strong>(write-only):
  copy the values and attributes from column C to the given column (value is the 
number of a column). (Since 3.9)</p>
<p><strong>COPYLIN<i>L </i></strong>(write-only):
  copy the values and attributes from line L to the given line (value is the 
number of a line). (Since 3.9)</p>
<p><a name="FITTOSIZE"><strong>FITTOSIZE</strong></a> (write-only): Force lines 
and/or columns sizes so the matrix visible size fit in its current size. 
NUMCOL_VISIBLE and NUMLIN_VISIBLE are considered when fitting and they are not 
changed, only the RASTERWIDTHn and RASTERHEIGHTn attributes are changed. But if 
any of the RASTERWIDTHn and RASTERHEIGHTn attributes where already set, then 
they will not be changed. If the matrix is 
resized then it must be set again to obtain the same result, but before doing 
that set to NULL all the RASTERWIDTHn and RASTERHEIGHTn attributes that you want 
to be changed. Can be LINES, 
COLUMNS or YES (meaning both). (since 3.3)</p>
<p><a name="FITTOTEXT"><strong>FITTOTEXT</strong></a> (write-only): Fit the RASTERWIDTHn or the RASTERHEIGHTn attribute for the given column or line, so 
that it will fit the largest text in the column or the highest text in the line. 
The number of the column or line must be preceded by a character identifying its 
type, &quot;C&quot; for columns and &quot;L&quot; for lines. For example &quot;C5&quot;=column 5 or &quot;L3&quot;=line 
3. If FITMAXWIDTHn or FITMAXHEIGHTn are set for the column or line they are used 
as maximum limit for the size. (since 3.4)</p>
<p><strong>MOVECOL<i>C </i></strong>(write-only):
  move the values and attributes from column C to the given column (value is the 
number of a column). Internally will use ADDCOL+COPYCOL+DELCOL to perform the 
move so it is limited to those attributes restrictions. It can be used in normal 
operation mode or in callback mode, but in callback mode will not update cell 
values, this must be done by the application.&nbsp; (Since 3.9)</p>
<p><strong>MOVELIN<i>L </i></strong>(write-only):
  move the values and attributes from line L to the given line (value is the 
number of a line). Internally will use ADDLIN+COPYLIN+DELLIN to perform the move 
so it is limited to those attributes restrictions. It can be used in normal 
operation mode or in callback mode, but in callback mode will not update cell 
values, this must be done by the application. (Since 3.9)</p>
<p><strong><a name="REDRAW">REDRAW</a></strong> (write-only):
  The user can inform the matrix that the data 
  has changed, and it must be redrawn. Values:</p>
<p class="info">&quot;ALL&quot;:
    Redraws the whole matrix.<br>
    &quot;L%d&quot;:
    Redraws the given line (e. g.: &quot;L3&quot; redraws line 3)<br>
    &quot;L%d-%d&quot;:
    Redraws the lines in the given region (e.g.: 
    &quot;L2-4&quot; redraws lines 2, 3 and 4)<br>
    &quot;C%d&quot;:
    Redraws the given column (e.g.: &quot;C3&quot; redraws column 3)<br>
    &quot;C%d-%d&quot;:
    Redraws the columns in the given region 
    (e.g: &quot;C2-4&quot; redraws columns 2, 3 and 4)</p>
<p class="info">No redraw is done when the application sets the attributes: 
L:C, 
ALIGNMENTc, BGCOLOR*, FGCOLOR*, FONT*, VALUE, FRAME*COLOR, MARKL:C. Global and size attributes always automatically redraw the 
    matrix.</p>
<p><strong><a name="SHOW">SHOW</a></strong> (write-only): If necessary scroll the visible area to 
make the 
given cell visible. To scroll to a line or a 
column, use a value such as &quot;<strong><em>L</em></strong>:*&quot; or &quot;*:<strong><em>C</em></strong>&quot; (where
<em><strong>L</strong></em>&gt;0 and <strong><em>C</em></strong>&gt;0). (since 
3.0)</p>
<h3><a name="Editing_Attributes">Editing Attributes</a></h3>
<p><strong><a name="EDIT_MODE">EDITMODE</a></strong>:
  When set to YES, programmatically puts the 
  current cell in edition mode, allowing the user to modify its value. When consulted informs if the 
editing control is visible (text or dropdown). Possible values: &quot;YES&quot; or &quot;NO&quot;.</p>
<p><strong>EDITALIGN</strong>: sets the text box alignment to the column 
alignment when editing a cell value. Default: No. (since 3.14)</p>
<p><strong>EDITCELL </strong>(read-only): returns the current cell being edited 
(&quot;L:C&quot;), or NULL if none. Can also be used during interaction while editing is 
being performed and EDITHIDEONFOCUS=NO. (since 3.14)</p>
<p><strong>EDITFITVALUE</strong>: enable a text box larger than the cell size of 
necessary, according to the cell font and cell current value. While editing if 
more room is necessary it will grow to the right. (since 3.14)</p>
<p><strong>EDITHIDEONFOCUS</strong>: when editing a cell if text box loses its 
focus, then editing ends. Default: Yes. When set to NO editing will continue and 
the matrix can be scrolled, also when pressing Esc or Enter if the focus is at 
the matrix it has the same effect as if pressed at the text box. (since 3.14)</p>
<p><strong>EDITING</strong> (read-only): returns Yes if the editing process is 
active for text or dropdown. It is set to Yes after EDITION_CB, after 
MENUDROP_CB,&nbsp; before DROP_CB and before the editing control is made 
visible. Set to NO when editing is about to end, after EDITION_CB and after the 
value has been updated, but before the editing control is made invisible. (since 
3.13)</p>
<p><strong><a name="EDITNEXT">EDITNEXT</a></strong>: controls how the next cell after editing is 
chosen. Can be LIN, COL, LINCR, COLCR. Default: LIN. (since 3.4)</p>
<p class="info">LIN&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - go to the next line at the 
same column, if at 
the last line then go to the next column at the same line;<br>
LINCR&nbsp; - go to the next line at the same column, if at the last line then go to the next column at 
the first line;<br>
COL&nbsp;&nbsp;&nbsp;&nbsp; - go to the next column at the same line, if at the last column then go 
to the next line at the same column;<br>
COLCR - go to the next column at the same line, if at the last column then go to the next line at the 
first column;<br>NONE&nbsp;&nbsp;- stay in the same cell. (since 3.6)</p>
<p><strong>EDITTEXT</strong> (read-only): returns Yes if the editing is being 
done by a text box. (since 3.14)</p>
<p><strong>EDITVALUE</strong> (read-only): returns Yes if the display cell value 
being consulted will be used for a text box initial value. Useful for being 
consulted inside the translate and numeric callbacks. (since 3.14)</p>
<h3><a name="Text_Editing_Attributes">Text Editing Attributes</a></h3>
<p><b><a name="CARET">CARET</a></b>:
  Allows specifying and verifying the caret 
  position of the text box in edition mode.</p>
<p><strong>INSERT</strong>: inserts a text at the caret position of the text box 
in edition mode. (since 3.14)</p>
<p><strong><a name="MASKL:C">MASK<em>L:C</em></a></strong>&nbsp; or <strong>MASK<em>L:*</em></strong> 
or <strong>MASK<em>*:C</em></strong>: Defines a mask that will filter text 
input. All
<a href="../attrib/iup_mask.html">MASK</a> auxiliary attributes are also available 
by adding the line and column at the end of the attribute name. (lin and col * 
variations since 3.17)</p>
<p><strong><a name="MULTILINE">MULTILINE</a></strong>: allows the edition of 
multiple lines.&nbsp;Use Shift+Enter to add lines. Enter will end the editing.</p>
<p><b><a name="SELECTION">SELECTION</a></b>:
  Allows specifying and verifying selection 
  interval 
  of the text box in edition mode.</p>
<h3><a name="Canvas_Attributes">Canvas Attributes</a><span class="style1"> (inheritable)</span></h3>
<p><b><a name="BORDER">BORDER</a></b>: Changed to NO.</p>
<p><b><a name="SCROLLBAR">SCROLLBAR</a></b>:
  Changed to YES.</p>

</body>

</html>